草庐IT

Android SQLite LIKE 转义通配符

全部标签

php - 如何用引号转义 php exec() 命令

我在Linux上使用Exiv2命令行工具来编辑图像元数据,如下所示:exiv2-M"setIptc.Application2.CaptionStringThisismycaption....."modifyIMG.jpg我想使用用户提供的标题从PHP执行此操作。如果用户不输入特殊字符,这将起作用:exec('/usr/local/bin/exiv2-M"setIptc.Application2.CaptionString'.$caption.'"modifyIMG.jpg');我需要允许用户使用特殊字符,例如单引号和双引号。我想使用escapeshellcmd()来防止恶意数据。我怎样

php - 使用 preg_replace 替换字符,除非前面有转义字符

我正在尝试执行以下操作,希望周围有reg_ex专家可以提供一些帮助。我需要在我的代码中替换字符[并使其成为{。但是有些情况下[需要保持[而不是改变。所以我认为我需要使用preg_replace("[","{",$string);具有合适的正则表达式的函数,这将导致[前面没有转义字符的字符被使用让我们说。那么我怎样才能替换这个“[”而不是这个“[”呢?提前致谢 最佳答案 你可以做到这一点,它是通过约定调用negativelookbehindassertionsechopreg_replace("/(?基本上,“仅当前面没有\时才将[替

php - 如何转义紧随其后的引号?

我想转义所有尚未转义的双引号。我已经在使用real_escape_string(),但我想了解以下正则表达式/方法有什么问题:$str='"Hello"""""world!\"';preg_replace('/(^|[^\\\\]{1})\"/','${1}\"',$str);(PS:我知道-\\"不会被转义,在某些其他情况下可能会成为问题,尽管这对我的脚本来说无关紧要。)结果是:\"Hello\""\""\"world!\"但我希望它是:\"Hello\"\"\"\"\"world!\" 最佳答案 这里是你如何转义你的sql:$s

php - 在匹配使用变量 : PHP:preg_match 形成的模式时转义字符的特殊含义

我正在执行正则表达式匹配以查找文本中某些特定单词集的首次出现。因为我不想在它们是其他单词的子字符串时生成误报,所以我想使用模式。例如,我想找到整个单词“DOM”,而不是“RANDOMIZER”中的子字符串DOM,比方说。因此,我将模式用作"\bDOM\b"来考虑所有出现的DOM,两侧都有单词边界。但是DOM和其他此类模式字符串来自数组$tags。将每个标签从$tags读入$tag,比较实际上是:preg_match("/\b$tag\b/",...)但如果$tag=".NET",这会遇到麻烦。然后"\b$tag\b"将开始匹配CNET、INET等字符串,将.解释为通配符。那么,我们如何

PHP SoapClient 发送转义的 XML 字符

我使用PHP的XMLWriter创建了一个XML文档。$xmlWriter=new\XMLWriter();$xmlWriter->openMemory();//generateXMLin-memory,notondisk//Pleasekeeptheindentationintacttopreserveeverybody'ssanity!$xmlWriter->startElement('RootElement');//...$xmlWriter->endElement();$myXml=$xmlWriter->outputMemory(true);现在我以非WSDL模式连接到SOA

php - 真正的转义字符串与绑定(bind)参数

在php中,使用mysqli有什么区别,哪个更好,为什么。我有一个用真正的转义字符串编写的整个项目,是否有必要转换为面向对象的准备语句? 最佳答案 从程序员的角度来看,手动转义值与PDO实现的参数化/准备语句之间的区别在于分离、自动化和责任转移的程度。使用*_escape_string开发人员必须确保所有值:通过相应的*_escape_string函数和放置在SQL字符串文字中,因为*_escape_string函数仅用于转义字符串文字值。如果开发人员有纪律来跟踪每个参数的处理,那么这可以完美地工作。但它往往会变得更加复杂,因此语句

PHP in_array 通配符匹配

我将禁用词列表存储在一个数组中:$bad=array("test");我正在使用下面的代码来检查用户名:if(in_array($username,$bad)){//deny}但我有一个问题,它只在给定的用户名是test时才拒绝,但我希望它也拒绝给定的用户名是Test、TEST、thisisatestok还是ThisIsATestOk。这可能吗? 最佳答案 尽管其他答案使用正则表达式和preg_*系列,但您最好还是使用stripos(),因为它是badpractice仅使用preg_*函数来查找字符串中是否存在某些内容-stripo

php - 转义某些字符不起作用

我确定这是重复的,但我无法通过搜索找到答案。这是我的代码str_replace(['',-,\(,\),\*,-,\|,\/],'',$params['电话']),'0'那行得通。我想要的是:str_replace(['',-,\(,\),/,|,\*,-,\#,\],'',$params['电话']),'0'只要我添加#或\它就会失败,并且转义它们似乎不起作用。有没有其他方法可以避开它们?虽然它看起来有效,但它似乎并没有取代初始空间。这可能是我问题的根源吗? 最佳答案 你要去掉一个空格,-,(,),*,-、|、/以及字符串中的\和

PHP $_SERVER ['HTTP_HOST' ] 转义,这看起来可以接受吗?

我刚刚开始学习转义并开始阅读有关使用$_SERVER['HTTP_HOST']由于XSS攻击的风险。我想到了这个,想知道我是否可以得到一些关于我的尝试的反馈。htmlspecialchars(filter_var($_SERVER['HTTP_HOST'],FILTER_SANITIZE_URL),ENT_QUOTES,'UTF-8')看起来还好吗?这在很大程度上取决于这个变量的安全性,我只需要请求输入即可。编辑:我将在整个站点中使用它进行显示,包括基本的anchor引用、表单操作等。 最佳答案 不同的情况应该使用不同的转义函数,例

php - 输入标签值属性的转义要求

HTML标记中input标签的value属性中的字符转义有什么要求?是否只是需要转义的双引号?HTML特殊字符也是?我试着浏览W3Cspec,但我找不到任何关于如何将东西放入value属性的具体细节。我想不用说"应该转义为",但是其他的呢?转义和不转义似乎都可以正常工作我的浏览器,但我不想选择不标准的浏览器并以损坏的HTML或&结束。 最佳答案 属性值只需要转义引号。如果属性使用双引号,将双引号替换为"。如果您的属性包含在单引号内,请使用'对字符串中的单引号进行转义。注意:不要使用’!这些都是有效的HTML: